package org.marketlive.entity.account;

import org.marketlive.entity.IEntity;


/*
(C) Copyright MarketLive. 2006. All rights reserved.
MarketLive is a trademark of MarketLive, Inc.
Warning: This computer program is protected by copyright law and international treaties.
Unauthorized reproduction or distribution of this program, or any portion of it, may result
in severe civil and criminal penalties, and will be prosecuted to the maximum extent
possible under the law.
*/

/**
 * Interface to the CreditCardType entity such as: MC for MasterCard, VI for Visa, and AX for American express.
 */
public interface ICreditCardType extends IEntity {

    /**
     * Returns the code of this credit card type.
     * 
     * @return code String value
     */
    String getCode();

    /**
     * Sets the code of this credit card type.
     * 
     * @param code String value
     */
    void setCode(String code);

    /**
     * Returns the ordinal display value of this credit card type.
     * 
     * @return ordinal int value
     */
    int getOrdinal();

    /**
     * Sets the ordinal display value of this credit card type.
     * 
     * @param ordinal int value
     */
    void setOrdinal(int ordinal);

    /**
     * Returns the active status of this credit card type.
     * 
     * @return avtive boolean value. true = active, false = not active
     */
    boolean isActive();

    /**
     * Sets the active status of this credit card.
     * 
     * @param active boolean value. true = active, false = not active
     */
    void setActive(boolean active);

    /**
     * Returns a user-friendly identifier for this <code>ICreditCardType</code>.
     * It is a descriptive identifier, and is not guaranteed to be unique.
     *
     * @return  String  the name
     */
    String getName();

    /**
     * Sets the name of this <code>ICreditCardType</code>.
     * It is a descriptive identifier, not guaranteed to be unique.
     *
     * @param name the name.
     */
    void setName(String name);

}
